package com.lanzuo.yxd.scanner.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class CorsConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/scanner/**")           // 允许跨域的 API 路径
                .allowedOriginPatterns("*")      // Spring Boot 2.4+ 推荐用 allowedOriginPatterns 代替 allowedOrigins
                .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
                .allowedHeaders("*")
                .allowCredentials(false)         // 如果前端带 credentials（如 cookies），设为 true，但 origin 不能为 *
                .maxAge(3600);                   // 预检请求缓存时间（秒）

        // 如果你也希望 WebSocket 的 HTTP 握手阶段允许跨域（虽然 WebSocket 本身不受 CORS 限制，但握手是 HTTP）
        // 实际上 WebSocket 的跨域需在 ServerEndpoint 中处理（见下文补充）
    }
}